﻿
/*********************************************
 * CLR 版本：       4.0.30319.42000
 * 类 名 称：       QueueHelper
 * 机器名称：       MS-20170310FLQY
 * 命名空间：       Utils
 * 文 件 名：       QueueHelper
 * 创建时间：       2017-07-21 10:57:38
 * 作    者：       Choj
 * 说    明：     
 * 修改时间：
 * 修 改 人：
 * 
*********************************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;

namespace AiYard.Common
{
    /// <summary>
    /// QueueHelper
    /// </summary>
    public class QueueHelper<T> where T : class, new()
    {
        /// <summary>
        /// 实例化
        /// </summary>
        public static QueueHelper<T> Instance = new QueueHelper<T>();
        private Queue<T> queue = new Queue<T>();
        /// <summary>
        /// 添加到队列
        /// </summary>
        /// <param name="t"></param>
        /// <returns></returns>
        public void Enqueue(T t)
        {
            lock (queue)
            {
                queue.Enqueue(t);
            }
        }
        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        public T Dequeue()
        {
            lock (queue)
            {
                if (queue.Count > 0)
                {
                    return queue.Dequeue();
                }
                else
                {
                    return null;
                }
            }
        }
    }
}
